Tools.h++ Categories of Classes

This page describes the various categories of classes available in Tools.h++.

From here, you can also access:

Table of Contents

Collection Classes

A complete library of collection classes, modeled after the Smalltalk-80 programming environment: Set, Bag, Ordered-Collection, Sorted-Collection, Dictionary, Stack, Queue, etc. All classes support isomorphic persistence allowing not only objects to be stored, but also their structure. An object need only inherit from the abstract base class RWCollectable to make full use of this power.

Virtual Streams

Allow objects to be stored in any arbitrary format. Binary and a portable ASCII format are supplied.

Type Conversion Between Classes

A Set may be converted to a Bag. An Ordered-Collection may be converted to a Sorted Collection, etc.

B-Tree Disk Retrieval

Efficient keyed access of disk records, including objects, using B-Trees.

Generic Classes

Stacks, Queues, Vectors, and Singly-and Doubly-linked lists. Uses <generic.h>, so classes are portable even to compilers that do not support templates.

File Space Manager Class

Allocates, de-allocates and coalesces free space within a file.

String and Character Manipulation

A full suite of operators and functions for concatenation, comparison, and indexing of string (with optional bounds checking). A SubString class for non-conformal extraction and assignment to sub-strings.

The powerful and efficient string class uses copy-on-write. An actual copy of the string is made only when absolutely necessary, resulting in reduced overhead.

Regular Expression Class

Search for matching regular expressions.

"Tokenizer" Class

Makes string parsing easy.

Time and Date Handling Classes

Our date and time classes can quickly answer such questions as: "What date is the first Sunday of any given month? What is the date 27 days from today?"

Virtual Arrays of Any Size

Now you can work with arrays of up to 2 GBytes in size under DOS and Windows! The virtual array automatically works through a buffered page heap and swaps itself out to disk as necessary.

Virtual Page Heap and Buffered Page Heap

Maintains an abstract "page heap" of fixed pages. The "page heap" can also be buffered to minimize the access to the physical paging device.

Buffered Disk Page Heap

Specialized version of a buffered page heap where pages are swapped to a buffered disk file.

Timer Class

This class can be used as a stop/start timer. It works in CPU-time to measure durations. The increment of time will depend on the operating system (typically 1/18 sec for DOS machines and 1 msec for Unix machines).

Benchmark Class

Can be used with the timer class to benchmark your code. This class has built-in reporting functions and options to compensate for the overhead of looping operations.

Templates

Templates are a general description of a family of related classes which can then be expanded for a specific class. This allows tight and consistent type checking of objects, as well as code that is very efficient.

We have template versions of the following classes:

And that's not all

BIT VECTORS, CACHE MANAGERS, ERROR HANDLING CLASSES, ITERATORS, AND MANY MORE!


© Copyright 1995, Rogue Wave Software, Inc.